dalC = new categoryDAL();
$this->loadData();
parent::loadTemplateFile("templates/".$this->registry->webTemplates."/product-detail.html");
parent::load();
}
public function loadData(){
//橫幅廣告
$this->picturetype = "50";
//宣告
$dal = new productDAL();
$dalC2 = new categoryDAL();
$dalC3 = new categoryDAL();
$aryR = array();
$aryT = array();
$aryD = array();
$aryTD = array();
$aryPI = array();
switch($this->registry->webLinkType){
case "2":
$dal->TwPathName = parent::getGet("path", "", 2);
break;
case "3":
$dal->PathName = parent::getGet("path", "", 2);
break;
default :
$dal->ProductID = parent::getGet("id");
}
$dal->loadRecord();
if($dal->Visible != "1" || $dal->CategoryVisible != "1" || ($dal->ParentID != "0" && $dal->ParentVisible != "1") || ($dal->ParentID != "0" && $dal->GrandID != "0" && $dal->GrandVisible != "1")){
$this->alertMsg = "找不到指定的網頁!";
$this->locationHref = "/";
return false;
}
$dal->click();
$categoryName = $dal->CategoryName;
$categoryLink = parent::linkProductList($dal->CategoryID);
$introduction = str_replace("\r\n", "
", $dal->Introduction);
$aryR[] = array("Name"=>$categoryName, "Link"=>$categoryLink);
if($dal->ParentID != "0"){
$aryR[] = array("Name"=>$dal->ParentName, "Link"=>parent::linkProductList($dal->ParentID));
if($dal->GrandID != "0") $aryR[] = array("Name"=>$dal->GrandName, "Link"=> parent::linkProductList($dal->GrandID));
}
$aryR = array_reverse($aryR);
parent::addParameter("CategoryID", $dal->CategoryID);
parent::addParameter("CategoryName", $categoryName);
parent::addParameter("CategoryLink", $categoryLink);
parent::addParameter("ProductID", $dal->ProductID);
parent::addParameter("ProductName", $dal->ProductName);
parent::addParameter("ProductNO", $dal->ProductNO);
parent::addParameter("Introduction", $introduction);
parent::addParameter("Specification", $dal->Specification);
parent::addParameter("ViewCount", $dal->ViewCount);
$NoStyle = ($dal->ProductNO == "") ?" style='display:none;'":"";
parent::addParameter("NoStyle", $NoStyle);
$SpStyle = ($dal->Specification == "") ?" style='display:none;'":"";
parent::addParameter("SpStyle", $SpStyle);
if($this->registry->ShowPrice == "1"){
$priceStyle = ($dal->Price == "0" || $dal->Price == "") ?" style='display:none;'":"";
$oldPriceStyle = ($dal->OldPrice == "0" || $dal->OldPrice == "") ?" style='display:none;'":"";
}else{
parent::addParameter("sellStyle", " style='display:none;'");
}
parent::addParameter("Price", $dal->Price);
parent::addParameter("priceStyle", $priceStyle);
parent::addParameter("OldPrice", $dal->OldPrice);
parent::addParameter("oldPriceStyle", $oldPriceStyle);
if($dal->IconImage != "" && parent::image_exists($dal->IconImage)){
parent::addParameter("IconImage", $dal->IconImage);
parent::addParameter("iconImageStyle", "");
}else{
parent::addParameter("IconImage", $this->NoPicImage);
parent::addParameter("iconImageStyle", " style='display:none;'");
}
$no = 0;
if($dal->Title1 != ""){
$no++;
$aryTD[] = array("NO"=>$no, "Title"=>$dal->Title1, "Description"=>$dal->Description1);
$aryT[] = array("NO"=>$no, "Title"=>$dal->Title1);
$aryD[] = array("NO"=>$no, "Description"=>$dal->Description1);
}
if($dal->Title2 != ""){
$no++;
$aryTD[] = array("NO"=>$no, "Title"=>$dal->Title2, "Description"=>$dal->Description2);
$aryT[] = array("NO"=>$no, "Title"=>$dal->Title2);
$aryD[] = array("NO"=>$no, "Description"=>$dal->Description2);
}
if($dal->Title3 != ""){
$no++;
$aryTD[] = array("NO"=>$no, "Title"=>$dal->Title3, "Description"=>$dal->Description3);
$aryT[] = array("NO"=>$no, "Title"=>$dal->Title3);
$aryD[] = array("NO"=>$no, "Description"=>$dal->Description3);
}
if($dal->OGTitle != "") parent::addParameter("ogTitle", $dal->OGTitle);
if($dal->OGDescription != "") parent::addParameter("ogDescription", $dal->OGDescription);
if($dal->OGImage != "" && parent::image_exists($dal->OGImage)){
$ogImage = $dal->OGImage;
if(preg_match("/^\/\//", $ogImage)) $ogImage = $this->protocol.":".$ogImage;
if(!preg_match("/^https?:\/\//", $ogImage)) $ogImage = $this->protocol."://".$_SERVER["HTTP_HOST"].$ogImage;
parent::addParameter("ogImage", $ogImage);
}
if($dal->WebTitle != "") parent::addParameter("webTitle", $dal->WebTitle);
if($dal->WebKeyword != "") parent::addParameter("webKeyword", $dal->WebKeyword);
if($dal->WebDescription != "") parent::addParameter("webDescription", $dal->WebDescription);
if($dal->BannerImage != ""){
$this->bannerImage = $dal->BannerImage;
$this->bannerTitle = $dal->BannerTitle;
$this->bannerLink = $dal->BannerLink;
$this->bannerColor = $dal->BannerColor;
$this->bannerDesc = $dal->BannerDesc;
}else{
$this->dalC->CategoryID = $dal->CategoryID;
$this->dalC->loadRecord();
if($this->dalC->BannerImage != ""){
$this->bannerImage = $this->dalC->BannerImage;
$this->bannerTitle = $this->dalC->BannerTitle;
$this->bannerLink = $this->dalC->BannerLink;
$this->bannerColor = $this->dalC->BannerColor;
$this->bannerDesc = $this->dalC->BannerDesc;
}else{
if($this->dalC->ParentID != "0"){
$dalC2->CategoryID = $this->dalC->ParentID;
$dalC2->loadRecord();
if($dalC2->BannerImage != ""){
$this->bannerImage = $dalC2->BannerImage;
$this->bannerTitle = $dalC2->BannerTitle;
$this->bannerLink = $dalC2->BannerLink;
$this->bannerColor = $dalC2->BannerColor;
$this->bannerDesc = $dalC2->BannerDesc;
}else{
if($dalC2->ParentID != "0"){
$dalC3->CategoryID = $dalC2->ParentID;
$dalC3->loadRecord();
$this->bannerImage = $dalC3->BannerImage;
$this->bannerTitle = $dalC3->BannerTitle;
$this->bannerLink = $dalC3->BannerLink;
$this->bannerColor = $dalC3->BannerColor;
$this->bannerDesc = $dalC3->BannerDesc;
}
}
}
}
}
$aryPI = $this->formatPImage($dal->ProductImageArray, $dal->ProductName);
if($this->registry->webType == "20"){
parent::addParameter("orderStyle", "");
parent::addParameter("askStyle", " style='display:none;'");
}else{
parent::addParameter("orderStyle", " style='display:none;'");
parent::addParameter("askStyle", "");
}
parent::addParameter("askLink", parent::linkContact($dal->ProductID));
$listR = new repeater();
$listR->id = "listR";
$listR->dataSource = $aryR;
parent::addControl($listR);
$listT = new repeater();
$listT->id = "listT";
$listT->dataSource = $aryT;
parent::addControl($listT);
$listD = new repeater();
$listD->id = "listD";
$listD->dataSource = $aryD;
parent::addControl($listD);
$listTD = new repeater();
$listTD->id = "listTD";
$listTD->dataSource = $aryTD;
parent::addControl($listTD);
$listPI = new repeater();
$listPI->id = "listPI";
$listPI->dataSource = $aryPI;
parent::addControl($listPI);
//產品分類列表
$dataC = $this->dalC->executeRecordset(array(), "a.`ParentID`=0 AND a.`Visible`=1 AND a.`Disable`=0");
$dataC = $this->formatCategory($dataC,$dal->CategoryID);
$listC = new repeater();
$listC->id = "listC";
$listC->dataSource = $dataC;
parent::addControl($listC);
//同分類產品
$intoAry = array();
$intoAry[] = parent::addArray(":categoryID", $dal->CategoryID, "int");
$filter = "a.`Visible`=1 AND a.`Disable`=0 AND a.`CreatedTime` AND b.`Visible`=1 AND b.`Disable`=0 AND (c.`Visible`=1 OR c.`Visible` IS NULL) AND (c.`Disable`=0 OR c.`Disable` IS NULL) AND (d.`Visible`=1 OR d.`Visible` IS NULL)".
" AND (d.`Disable`=0 OR d.`Disable` IS NULL)";
$filter1 = $filter." AND a.`CategoryID`=:categoryID";
$dataP = $dal->executeRecordset($intoAry, $filter1);
//上/下個產品
$flagA = 0;
$pagUName = "";
$pagULink = "javascript:void(0);";
$pagUImage = $this->NoPicImage;
$pagUStyle = " style='display:none;'";
$pagDName = "";
$pagDLink = "javascript:void(0);";
$pagDimage = $this->NoPicImage;
$pagDStyle = " style='display:none;'";
foreach($dataP as $rows){
if($flagA == "0"){
if($rows["ProductID"] == $dal->ProductID){
$flagA = 1;
}else{
$pagUName = $rows["ProductName"];
$pagULink = parent::linkProductDetail($rows["ProductID"]);
$pagUImage = ($rows["IconImage"] != "" && parent::image_exists($rows["IconImage"]))?$rows["IconImage"]:$this->NoPicImage;
$pagUStyle = "";
}
}else{
$pagDName = $rows["ProductName"];
$pagDLink = parent::linkProductDetail($rows["ProductID"]);
$pagDImage = ($rows["IconImage"] != "" && parent::image_exists($rows["IconImage"]))?$rows["IconImage"]:$this->NoPicImage;
$pagDStyle = "";
break;
}
}
parent::addParameter("pageUpName", $pagUName);
parent::addParameter("pageUpLink", $pagULink);
parent::addParameter("pageUpImage", $pagUImage);
parent::addParameter("pageUpStyle", $pagUStyle);
parent::addParameter("pageDownName", $pagDName);
parent::addParameter("pageDownLink", $pagDLink);
parent::addParameter("pageDownImage", $pagDImage);
parent::addParameter("pageDownStyle", $pagDStyle);
//相關產品
$filter2 = $filter." AND (a.`CategoryID`=:categoryID OR b.`ParentID`=:parentID OR c.`ParentID`=:grandID) AND a.`ProductID`!=:productID";
$intoAry[] = parent::addArray(":parentID", $dal->CategoryID, "int");
$intoAry[] = parent::addArray(":grandID", $dal->CategoryID, "int");
$intoAry[] = parent::addArray(":productID", $dal->ProductID, "int");
$dataP2 = $dal->executeRecordset($intoAry, $filter2, "RAND()", 0, 4);
$dataP2 = $this->formatProduct($dataP2);
$listP = new repeater();
$listP->id = "listP";
$listP->dataSource = $dataP2;
parent::addControl($listP);
//結構化資料
$GoogleSearch = parent::seoGoogleSearch("5",$dal->ProductID,$dal->Price);
parent::addParameter("GoogleSearch", $GoogleSearch);
//父類方法
parent::loadData();
}
private function formatCategory($data=array(),$id){
$iLabel = "";
$iLabel2 = "";
$this->dalC->CategoryID = $id;
$this->dalC->loadRecord();
for($i=0;$i";
foreach($dataS as $rows){
$into2Ary = array();
$into2Ary[] = parent::addArray(":parentID", $rows["CategoryID"], "int");
$dataS2 = $this->dalC->executeRecordset($into2Ary, "a.`ParentID`=:parentID AND a.`Visible`=1 AND a.`Disable`=0");
$data[$i]["SubList"] .= "
";
foreach($dataS2 as $rows2){
$data[$i]["SubList"] .= "